package com.sky.orangehireserver.modules.enterprise.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 企业信息响应VO
 * 
 * @author sky
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "企业信息响应VO")
public class EnterpriseInfoVO {

    /**
     * 企业ID
     */
    @Schema(description = "企业ID", example = "1")
    private Long id;

    /**
     * 企业/组织名称
     */
    @Schema(description = "企业名称", example = "阿里巴巴集团")
    private String name;

    /**
     * 企业简称
     */
    @Schema(description = "企业简称", example = "阿里")
    private String shortName;

    /**
     * 企业状态
     */
    @Schema(description = "企业状态", example = "active")
    private String status;

    /**
     * 行业分类
     */
    @Schema(description = "行业分类", example = "互联网")
    private String industry;

    /**
     * 企业规模
     */
    @Schema(description = "企业规模", example = "500+")
    private String size;

    /**
     * 企业Logo URL
     */
    @Schema(description = "企业Logo URL")
    private String logoUrl;

    /**
     * 企业官网
     */
    @Schema(description = "企业官网", example = "https://www.alibaba.com")
    private String website;

    /**
     * 企业注册地址
     */
    @Schema(description = "企业注册地址", example = "浙江省杭州市余杭区")
    private String address;

    /**
     * 联系人姓名
     */
    @Schema(description = "联系人姓名", example = "张三")
    private String contactName;

    /**
     * 联系人邮箱
     */
    @Schema(description = "联系人邮箱", example = "zhangsan@alibaba.com")
    private String contactEmail;

    /**
     * 联系人电话
     */
    @Schema(description = "联系人电话", example = "13800138000")
    private String contactPhone;

    /**
     * 企业简介
     */
    @Schema(description = "企业简介")
    private String description;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;
}